草庐IT

c++ - 虚拟方法 C++

全部标签

c++ - 谁能解释为什么这两个转换为 unsigned long long 会产生不同的结果?

LARGE_INTEGERlpPerformanceCount,lpFrequency;QueryPerformanceCounter(&lpPerformanceCount);QueryPerformanceFrequency(&lpFrequency);(Count.QuadPart是一个显示CPU计数的longlong)(Freq.QuadPart是一个longlong,表示秒数的频率)尝试实时打印微秒。稳定输出:printf("%llu\n",((longdouble)lpPerformanceCount.QuadPart/lpFrequency.QuadPart)*10000

windows - 显式崩溃应用程序的最简洁方法?

我的应用程序具有内置的自定义崩溃处理功能(请参阅JohnRobbins关于“调试Windows应用程序”的优秀书籍)。为了测试这个功能,我总是使用Windows函数DebugBreak()并且它总是工作得很好。但从Windows7开始,调用此函数只会提示“已到达断点”并停止应用程序,而无需调用我的崩溃处理程序。我总是可以将此代码放入我的应用程序中以测试崩溃功能:int*ptr=(int*)0xdeadbeef;*ptr=123456789;或者甚至添加几个案例,以防万一0xdeadbeef是一个有效地址:int*ptr=(int*)0xdeadbeef;*ptr=123456789;p

c - 防止过多的 LoadLibrary/FreeLibrary

我正在编写一个代理库(称为库A),它只是与系统上可能存在或不存在的另一个DLL(称为库B)的接口(interface)。这个想法是程序将链接到这个库A而不是原始库B;如果系统上没有安装库B,库A将处理错误。所以一个典型的代理函数看起来像这样:intfunction(intarg1,intarg2){HINSTANCEhinstLib;UINTerrormode=SetErrorMode(SEM_FAILCRITICALERRORS);SetErrorMode(errormode|SEM_FAILCRITICALERRORS);hinstLib=LoadLibrary(TEXT(ORIG

Python:获取对象的 “attribute/method/property” 作为方法的参数或作为属性

在WMI模块中(是的,我的老板希望我在Windows中编程—但至少它不是在COBOL中),您似乎可以通过将其名称作为方法的字符串参数传递来访问WMI值,blabla=wmithingy().getvalue('nameOfValue')或作为属性/方法:blabla=wmithingy().nameOfValue()我是在做梦,抽坏大麻,还是可以有效地完成(以及如何)? 最佳答案 要么getvalue()方法使用getattr(),或__getattr__()方法遵从getvalue()方法。

c++ - DeleteIPAddress 和 AddIpAddress 问题

我试着用这个函数编写添加ip地址的程序DWORDAddIPAddress(__inIPAddrAddress,__inIPMaskIpMask,__inDWORDIfIndex,__outPULONGNTEContext,__outPULONGNTEInstance);我添加了,但是怎么删除呢。DeleteIPAddress将NTEContext作为参数我如何在MSDN中获取它,他们写道它由AddIPAddress函数返回但是当我第二次使用相同的ip地址调用它时它返回错误2.怎么办?我可以在cmd中使用Ipconfig命令查看添加的ip地址,可能还有其他方法可以手动查看或删除它

c++ - 取消WIN32线程池中计划的work/io/timer项

我一直在研究Windows的(新的?)线程池API。我一直在关注UsingtheThreadPoolFunctions中的示例我一直在仔细研究MSDN上的API。关于清理组,我有些不明白。调用SetThreadpoolCallbackCleanupGroup()时,第三个参数描述为Thecleanupcallbacktobecalledifthecleanupgroupiscanceledbeforetheassociatedobjectisreleased.ThefunctioniscalledwhenyoucallCloseThreadpoolCleanupGroupMembers

c++ - 创建一个反射(reflect)崩溃原因的崩溃报告 Win32 C++ 字符串的好方法是什么?

我们正在使用Fogbugz来跟踪问题,我正在为XMLAPIforFogbugz编写一个C++包装器。.最佳实践似乎是使用“scout”字段,这样类似/相同的崩溃只会被计算在内,而不会再次报告。为此,我们需要一个针对特定崩溃原因的唯一字符串。在Win32中-在获得dmp文件或其他崩溃处理程序后,什么是为崩溃创建唯一字符串的好方法?(我们将创建一个dmp文件并将其发送到fogbugz服务器)在以前的帖子/文章/等中,Joel提出了各种建议,但其中大部分都依赖于C#这样使用反射的语言,并且包含很多难以获取或无法获取的信息。有没有其他人得到堆栈跟踪或其他东西来在fogbugz中制作侦察条目?编

c - 如何检查用户是否登录到工作站,或者工作站是否被锁定?

是否有功能或简单的方法来检查用户是否登录到工作站或工作站是否被锁定?如果可能的话,如果工作站被锁定,如何检查谁登录了?谢谢! 最佳答案 如果您作为服务运行,您将注册一个HandlerEx回调函数,并跟踪SERVICE_CONTROL_SESSIONCHANGE事件。如果您正在发送Windows消息,那么您需要跟踪WM_SESSION_CHANGE和WTS_SESSION_LOGON消息。要获得后者,您必须调用WTSRegisterSessionNotification要查询远程机器,您可能会使用WTSEnumerateSession

c++ - 如何在 ListView 控件中制作复选框三态?

是否有可能使具有LVS_EX_CHECKBOXES样式三态(具有BS_3STATE按钮样式)的ListView控件中的复选框?我正在使用WTL,但我可以手动发送消息。 最佳答案 是的,您需要一个ImageList,其中包含未选中、已选中和不确定复选框的3个图像。调用ListView_SetImageList()分配LVSIL_STATE图像列表。操纵LVITEM.state以显示您想要的复选框类型。 关于c++-如何在ListView控件中制作复选框三态?,我们在StackOverflo

windows - 在多个 Windows 和 Outlook 版本上测试插件的好方法是什么?

我们正在构建适用于多个Windows版本(XP、Vista、7)以及不同Outlook版本(2003、2007、2010)的Outlook插件。我现在面临的测试问题是,我想不出一个好的/方便/彻底的方法来在多个Windows和Outlook版本上测试应用程序。目前,我有一个运行许多虚拟机的VirtualBox,具有不同的Windows版本和Outlook版本。因此,我将有一台装有Windows7的虚拟机测试Outlook2010,另一台装有Windows7的虚拟机测试Outlook2007,WindowsVista和Outlook2010等等,通过一些可能的组合。它可以完成工作,尽管它